package com.springdoor.goods.service;

import java.util.List;

import com.springdoor.common.core.domain.TreeSelect;
import com.springdoor.common.core.domain.entity.SprdGoodsBrand;

/**
 * 商品品牌Service接口
 * 
 * @author llshs
 * @date 2024-04-30
 */
public interface ISprdGoodsBrandService 
{
    /**
     * 查询商品品牌
     * 
     * @param brandId 商品品牌主键
     * @return 商品品牌
     */
    public SprdGoodsBrand selectSprdGoodsBrandByBrandId(Long brandId);

    /**
     * 查询商品品牌列表
     * 
     * @param brand 商品品牌
     * @return 商品品牌集合
     */
    public List<SprdGoodsBrand> selectSprdGoodsBrandList(SprdGoodsBrand brand);

    /**
     * 新增商品品牌
     * 
     * @param brand 商品品牌
     * @return 结果
     */
    public int insertSprdGoodsBrand(SprdGoodsBrand brand);

    /**
     * 修改商品品牌
     * 
     * @param brand 商品品牌
     * @return 结果
     */
    public int updateSprdGoodsBrand(SprdGoodsBrand brand);

    /**
     * 批量删除商品品牌
     * 
     * @param brandIds 需要删除的商品品牌主键集合
     * @return 结果
     */
    public int deleteSprdGoodsBrandByBrandIds(Long[] brandIds);

    /**
     * 删除商品品牌信息
     * 
     * @param brandId 商品品牌主键
     * @return 结果
     */
    public int deleteSprdGoodsBrandByBrandId(Long brandId);

    /**
     * 校验商品品牌编码是否唯一
     *
     * @param brand 部门信息
     * @return 结果
     */
    public boolean checkBrandCodeUnique(SprdGoodsBrand brand);

    /**
     * 校验商品品牌名称是否唯一
     *
     * @param brand 部门信息
     * @return 结果
     */
    public boolean checkBrandNameUnique(SprdGoodsBrand brand);

    /**
     * 查询所有商品品牌
     *
     * @return 结果
     */
    public List<SprdGoodsBrand> selectBrandAll();

    /**
     * 构建前端所需要下拉树结构
     *
     * @param list
     * @return
     */
    public List<TreeSelect> buildAttrTreeSelect(List<SprdGoodsBrand> list);
}
